blackdarthvader
@blackdarthvader
Только учусь кодить ^_^

Как реализовать вывод из БД с подсчетом количества одинаковых значений в столбце?

Привет
Как сделать вывод данных с подсчетом количества одинаковых значений столбца track_code?

Пример таблицы

| id | user_id | taobao_link | track_code | user_comment | status | item_weight | delivery_amount |
|----|---------|-------------|-----------------|------------------------|--------|-------------|-----------------|
| 33 | 1276230 | link | 773016238269337 | Новогодняя елка | 4 | 3.5 | 150210 |
| 34 | 1276230 | link | 773016238269337 | | 4 | | |
| 35 | 1550100 | link | 9897206186825 | huwtsas | 3 | 1.65 | 4000 |
| 36 | 1256854 | link | 71674804779902 | х | 0 | | |
| 37 | 1543091 | link | 773017517336965 | Машины утас тогтоогч | 0 | | |
| 38 | 1543091 | link | YT4257939541100 | Машины мр3 | 0 | | |
| 39 | 1543091 | link | 73083319470007 | Машины тусламжийн багц | 0 | | |
| 40 | 1550152 | link | 773017354765258 | tshirt | 0 | | |
| 41 | 1550152 | link | 773017354765258 | tshirt | 0 | | |
| 42 | 1550152 | link | 773017354765258 | tshirt | 0 | | |


Посчитать у меня получается, но не пойму как мне вывести все остальные поля
SELECT `track_code`, COUNT(*) FROM `purchase_users`  GROUP BY `track_code`;


| track_code | COUNT(*) |
|-----------------|----------|
| 71674804779902 | 1 |
| 73083319470007 | 1 |
| 773016238269337 | 2 |
| 773017354765258 | 3 |
| 773017517336965 | 1 |
| 9897206186825 | 1 |
| YT4257939541100 | 1 |


Мне нужно вывести все поля (| id | user_id | taobao_link | track_code | user_comment | status | item_weight | delivery_amount |) + отдельно посчитать количество совпадений в track_code. Можно ли это сделать одним sql запросом?

Онлайн пример
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
Oegir
@Oegir
Web-программист
SELECT
   `purchase_users`. *,
   `numbers`.`counter` 
FROM
    `purchase_users`
LEFT JOIN 
    (SELECT `track_code`, COUNT(*) AS `counter` FROM `purchase_users`  GROUP BY `track_code`) AS `numbers`
ON `purchase_users`.`track_code` = `numbers`.`track_code`
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы