Kom ihåg mig?
Home Menu

Menu


SQL urval (med distinct)

Ämnesverktyg Visningsalternativ
Oläst 2006-12-31, 11:15 #1
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
"SELECT DISTINCT witnoyt, FROM survey WHERE witnoyt != "" ORDER BY witnoyt"
tar ut precis den data jag vill ur witnoyt kolumnen som jag vill. Problemet är att jag ocskå vill ha tillhörande info från iytgahetuh kolumnen. Skriver jag:
"SELECT DISTINCT witnoyt,iytgahetuh FROM survey WHERE witnoyt != "" ORDER BY witnoyt"
Blir det fel eftersom den kommer ta all data där båda kolumnerna är distinct kombinerade med varandra.

Hur ska jag då göra för att få ut båda kolumnerna men bara en av varje från witnoyt kolumnen?

Tack på förhand
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-01, 12:49 #2
ronsoft ronsoft är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2006
Inlägg: 8
ronsoft ronsoft är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2006
Inlägg: 8
Det går nog att lösa. Jag funderar bara på vad du vill ha för något värde från iytgahetuh om det är så att det finns flera poster. Om du bara är ute efter ett värde vilket som helst kan du välja det minsta genom följande SQL:

SELECT witnoyt,MIN(iytgahetuh) FROM survey WHERE witnoyt != '' GROUP BY witnoyt ORDER BY witnoyt
ronsoft är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-02, 13:12 #3
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
* Feltryck*
Magnus_A är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-02, 14:18 #4
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Nej, inte det minsta. Inte vilket som helst, utan det som hör till witnoyt. witnoyt är ett namn och den andra tabellen innehåller URL. Jag vill skriva ut länkar, men bara en för varje sida. Eftersom URL:n inte alltid är samma formulerad medan namnet oftast är samma formulerad vill jag välja ur min databas en av varje namn och sedan URL:n som hör till det namnet...

Hoppas det går
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-02, 15:05 #5
wmasterj wmasterj är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2006
Inlägg: 17
wmasterj wmasterj är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2006
Inlägg: 17
Jag tror att detta kan lösa det:

Kod:
SELECT iytgahetuh,
GROUP_CONCAT(DISTINCT witnoyt)
FROM student
p.s Använd gärna "CODE" taggen för satserna.

edit: Taget från MySql 5.1 Reference
wmasterj är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-02, 15:50 #6
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
SELECT iytgahetuh, GROUP_CONCAT( DISTINCT witnoyt )
FROM `survey`
LIMIT 0 , 30

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '( DISTINCT witnoyt ) FROM `survey` LIMIT 0, 30' at line 1

Gör jag något fel? Är förresten inte säker på om jag har 5.1 eller 5.0...
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-02, 17:03 #7
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Om du har en group modifier som group_concat() så ska man nog ha en group by på slutet också.
Magnus_A är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-02, 19:59 #8
Jake.Nu Jake.Nu är inte uppkopplad
Medlem
 
Reg.datum: Oct 2006
Inlägg: 224
Jake.Nu Jake.Nu är inte uppkopplad
Medlem
 
Reg.datum: Oct 2006
Inlägg: 224
Du nämner vad jag kan se inget om vilka relationer dom båda tabellerna har med varandra, så jag utgår ifrån att du har en kolumn som heter id och som finns i båda tabeller.
Kod:
SELECT a.x,b.x FROM tb1 AS a LEFT JOIN tb2 AS b ON a.id=b.id WHERE a.x != '' GROUP BY a.x
Jake.Nu är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-02, 21:48 #9
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Det är en och samma tabell. Den heter "survey". I den ligger två kolumner. Jag vill välja, såsom framgår av första posten, utifrån att en kolumn ska vara distinct sedan ska den också hämta med tillhörande info (info med samma id, har en sådan kolumn) men i en annan kolumn.
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-02, 22:32 #10
Jake.Nu Jake.Nu är inte uppkopplad
Medlem
 
Reg.datum: Oct 2006
Inlägg: 224
Jake.Nu Jake.Nu är inte uppkopplad
Medlem
 
Reg.datum: Oct 2006
Inlägg: 224
..
Kod:
SELECT a,b FROM tabell WHERE a != '' GROUP BY a
Som någon redan i princip skrivit..
Jake.Nu är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 01:00.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017