/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Mysql sorterings problem
Fra : Mikael Hansen


Dato : 08-03-01 15:20

Hejsa

Jeg har et lille problem med sortering af et resultat på en select, som
jeg håber en kan hjælpe med. Mysql manualen gav ikke nogen inspiration :(

Situationen: 2 tabeller:

user
+-------------+-------------+------+-----+------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+------------+-------+
| Name | varchar(50) | | | | |
| Id | int(11) | | PRI | 0 | |
| User | varchar(8) | | | | |
| Address | varchar(4) | | | | |
| Expire | date | | | 0000-00-00 | |
| Shell | varchar(10) | | | bash | |
| Groups | varchar(50) | | | all | |
| Status | varchar(30) | | | login | |
| Printer | int(11) | | | 0 | |
| Disk | int(11) | | | 0 | |
| Balance | int(11) | | | 0 | |
| LastUpdated | date | | | 0000-00-00 | |
| Created | date | | | 0000-00-00 | |
| Netcard | char(3) | | | no | |
| Netcable | char(3) | | | no | |
| NetKey | char(3) | | | no | |
+-------------+-------------+------+-----+------------+-------+

og

host
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| Name | varchar(16) | | PRI | | |
| User | varchar(8) | | | | |
| Domain | varchar(12) | | | | |
| Ip | int(11) | | | 0 | |
| Status | varchar(50) | | | boot | |
| Mac | varchar(12) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+


Jeg bruger denne select som giver resultatet, dog sorteret efter User:

select user.User, count(*) from host, user where user.User=host.User GROUP BY user.User

Jeg ville gerne have det sorteret increasing efter countet istedet for.
Altså med det største tal som sidste del af resultatet.

Jeg kan ikke få lov til at GROUP BY count(*). Er der nogen der har en ide,
eller en pointer til et sted i manualen?

MVH og på forhånd tak
   Mikael Hansen

"We are Microsoft. You will be assimilated.
   Resistance is Futile."

PS.
mysql --version
mysql Ver 9.38 Distrib 3.22.30, for sun-solaris2.7 (sparc)






 
 
Kristian Damm Jensen (08-03-2001)
Kommentar
Fra : Kristian Damm Jensen


Dato : 08-03-01 16:04

Mikael Hansen wrote:

<snip>

> Jeg kan ikke få lov til at GROUP BY count(*). Er der nogen der har en ide,
> eller en pointer til et sted i manualen?

Jeg er ikke sikker på mySQL - den har nogle besynderlige begrænsninger -
men standardløsningen er

select user.User
, count(*) antal
from host
, user
where user.User=host.User GROUP BY user.User
order by antal;

I ældre varianter af SQL kan man desuden lave group by kolonne-nummer, i
dette tilfælde altså

....
group by 2;

--
Kristian Damm Jensen | Feed the hungry. Go to
kristian-damm.jensen@capgemini.dk | http://www.thehungersite.com


Søg
Reklame
Statistik
Spørgsmål : 177517
Tips : 31968
Nyheder : 719565
Indlæg : 6408645
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste