Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 4.408 pregleda

Najnovija ↓

Sto jednostavniji query 02.11.2006. u 09:25 · pre 243 meseca #1
Imam tebelu koja izgleda ovako:
Code:
id_usera | mod | score
---------+-----+-------
 1       | ctf | 12
 1       | sd  | 32
 2       | tdm | 42
 1       | ctf | 34
 1       | tdm | 64
 2       | sd  | 54
 1       | tdm | 2


E sad treba mi da selektujem SUM(score) za sve gdje id_usera=1 i mod=ctf, pa SUM(score) gdje id_usera=1 i mod=sd..... pa SUM(score) gdje id_usera=1 (bez moda).

Na kraju bi rezultat trebao izgledati ovako:
Code:
________________
id_usera=1
ctf=46
sd=32
tdm=66
total=144

________________
id_usera=2
ctf=0
sd=54
tdm=42
totla=96


Eh kako sastaviti query da se sto brze izvrsi?
Potpis
May the force be with you...
Re: Sto jednostavniji query 04.11.2006. u 01:15 · pre 243 meseca #3
Pomoglo mi je tnx ali sad imam novi problem.

Imam query:

SELECT SUM(data) AS data, SUM(data1) AS data1, id_usera FROM tabela GROUP BY id_usera ORDER BY data+data1 DESC

probao sam i sa:

SELECT SUM(data) AS data, SUM(data1) AS data1, id_usera, data+data1 AS total FROM tabela GROUP BY id_usera ORDER BY total DESC

ali ne radi.

Kako da ovo izvedem (znaci da soritram po zbiru data+data1)?
Potpis
May the force be with you...
Re: Sto jednostavniji query 05.11.2006. u 15:59 · pre 243 meseca #5
SELECT SUM(`data`) AS `data`, SUM(data1) AS data1, SUM(`data`+data1) AS total , id_usera FROM tabela GROUP BY id_usera ORDER BY total DESC

Re: Sto jednostavniji query 07.11.2006. u 13:14 · pre 243 meseca #6
Primjer:

Code:
CREATE TABLE `test` (
  `id` int(11) NOT NULL auto_increment,
  `user` int(11) NOT NULL default '0',
  `mod` varchar(255) NOT NULL default '',
  `score` int(11) NOT NULL default '0',
  `score1` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;


INSERT INTO `test` VALUES (1, 1, 'ctf', 12, 2);
INSERT INTO `test` VALUES (2, 1, 'sd', 32, 3);
INSERT INTO `test` VALUES (3, 2, 'tdm', 42, 5);
INSERT INTO `test` VALUES (4, 1, 'ctf', 34, 2);
INSERT INTO `test` VALUES (5, 1, 'tdm', 64, 23);
INSERT INTO `test` VALUES (6, 2, 'sd', 54, 2);
INSERT INTO `test` VALUES (7, 1, 'tdm', 2, 3);


Rjesenje:

Code:

SELECT SUM( `score` ) AS `data` , SUM( `score1` ) AS data1, SUM( score + score1 ) AS total, user
FROM `test`
GROUP BY user
ORDER BY total DESC
LIMIT 0 , 30
Potpis
Vedran Martinovic
www.besplatnioglasi.rs
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme