Помощник
|
Подсчет значений |
Letmetouchyou
|
Сообщение
#1
|
||
|
|
||
|
|||
Webmaster_hb |
20.6.2011, 11:21;
Ответить: Webmaster_hb
Сообщение
#2
|
|
select
key, count(key) from tbl1 group by key |
|
|
Letmetouchyou
|
Сообщение
#3
|
|
Webmaster, спасибо, на отдельном примере все работает. Но я тогда не пойму почему так:
select *, count(`bc`.`user_bet_id`) as `comments_count` from `bet_comments` as `bc` left join ( select `id`, `login`, CASE WHEN `photo` = "" THEN "nophoto.png" ELSE `photo` END AS `user_photo` from `users`) as `u` on `u`.`id` = `bc`.`user_id` left join ( select `user_id`, `bet_title` from `user_bets` ) as `ub` on `ub`.`user_id` = `bc`.`user_id` group by `bc`.`user_bet_id` order by `bc`.`time` desc так не работает, точнее работает на половину. Результат такой: Array ( [0] => Array ( [id] => 174 [user_bet_id] => 86 [user_id] => 174 [comment] => hm [time] => 1308061549 [login] => admin [user_photo] => nophoto.png [bet_title] => Brian Scalabrine of the Boston Celtics have 0 Defensive Rebounds exactly in February 2011 [comments_count] => 7 ) [1] => Array ( [id] => 191 [user_bet_id] => 98 [user_id] => 191 [comment] => fwe [time] => 1308051935 [login] => better [user_photo] => 1308052623_p1_sportsman.jpg [bet_title] => Andrey win the tournament on December 2011. [comments_count] => 64 ) [2] => Array ( [id] => 191 [user_bet_id] => 58 [user_id] => 191 [comment] => f [time] => 1308050952 [login] => better [user_photo] => 1308052623_p1_sportsman.jpg [bet_title] => Andrey win the tournament on December 2011. [comments_count] => 64 ) [3] => Array ( [id] => 191 [user_bet_id] => 54 [user_id] => 191 [comment] => check chat [time] => 1308046405 [login] => better [user_photo] => 1308052623_p1_sportsman.jpg [bet_title] => Andrey win the tournament on December 2011. [comments_count] => 64 ) [4] => Array ( [id] => 191 [user_bet_id] => 55 [user_id] => 191 [comment] => 1 [time] => 1307442857 [login] => better [user_photo] => 1308052623_p1_sportsman.jpg [bet_title] => Andrey win the tournament on December 2011. [comments_count] => 128 ) .... Первое значение посчитало правильно, остальные нет. В чем пробелма? То есть если убрать все join то все номрально, а с ними нет. |
|
|
Letmetouchyou
|
Сообщение
#4
|
|
Решил пока так
select * from `bet_comments` as `bc` left join ( select `id`, `login`, CASE WHEN `photo` = "" THEN "nophoto.png" ELSE `photo` END AS `user_photo` from `users`) as `u` on `u`.`id` = `bc`.`user_id` left join ( select `user_id`, `bet_title` from `user_bets` ) as `ub` on `ub`.`user_id` = `bc`.`user_id` left join ( select id, count(*) as `comment_count` from `bet_comments` group by `user_bet_id`) as `cc` on `cc`.`id` = `bc`.`id` group by `bc`.`user_bet_id` order by `bc`.`time` desc но как то не особонравиться :) |
|
|
BigBoy_hb |
20.6.2011, 15:00;
Ответить: BigBoy_hb
Сообщение
#5
|
|
|
SELECT id, key, (SELECT COUNT(*) FROM table WHERE key = A.key) count FROM Table A
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Как сделать подсчет рейтинга плюсов и минусов на wordpress? | 9 | prolisk | 9361 | 17.10.2016, 18:08 автор: prolisk |
|
Помогите сделать подсчет в таблице из из базы данных на сайте | 2 | Сергей климанов | 3303 | 13.7.2012, 23:40 автор: -Сергей климанов- |
|
Вывод в цикле значений из базы! | 3 | Panich | 4259 | 27.5.2011, 16:14 автор: -Panich- |
Текстовая версия | Сейчас: 23.4.2024, 22:22 |