Как подсчитать уникальные строки из разных таблиц в mysql [duplicate]

Если вы хотите получить один элемент по имени строки и столбцу, вы можете сделать это так же, как df['b'][0]. Это так же просто, как вы можете изобразить.

Или вы можете использовать df.ix[0,'b'], смешанное использование индекса и метки.

Примечание: Поскольку v0.20 ix устарел в пользу loc / iloc.

0
задан CdB 19 May 2014 в 11:52
поделиться

3 ответа

Есть несколько возможных вариантов, один из них:

SELECT * ,
  (SELECT count(*)
   FROM `table_votes`
   WHERE `children`.`id` = `table_votes`.`child_id`) AS `Count`
FROM `children`
WHERE `parent_id` = 20

Вы также можете использовать свой запрос, но вам нужно будет добавить GROUP BY:

SELECT  
 `children`.`id`,  
 `children`.`data`,  
 `children`.`parent_id`,  
 `children`.`timestamp`,  
 COUNT(`v`.`children_id`)  
FROM `children` LEFT JOIN `table_votes` `v` ON `children`.`id` = `v`.`child_id`  
WHERE `children`.`parent_id` = 20 
GROUP BY `children`.`id`, `children`.`data`, `children`.`parent_id`, `children`.`timestamp`,
ORDER BY `timestamp` ASC
3
ответ дан Uriil 1 September 2018 в 01:26
поделиться

1) решение с подселекцией:

SELECT  
    children.id,
    children.data,
    children.parent_id,  
    children.timestamp,  
    (select count(*) from table_votes children.id = table_votes.child_id) as cntVotes
FROM 
  children 
WHERE 
  children.parent_id = 20 
ORDER BY 
  children.timestamp ASC

2) решение с группой:

SELECT  
    children.id,
    children.data,
    children.parent_id,  
    children.timestamp,  
    count(table_votes.id) as cntVotes
FROM 
  children 
LEFT JOIN
  table_votes ON children.id = v.child_id
WHERE 
  children.parent_id = 20 
GROUP BY
    children.id,
    children.data,
    children.parent_id,  
    children.timestamp
ORDER BY 
  children.timestamp ASC  
2
ответ дан georstef 1 September 2018 в 01:26
поделиться

Я не уверен, правильно ли я понимаю ваш вопрос, но для меня кажется, что вы хотите подсчитать количество детей в таблицах_votes, а не у детей. попробуйте следующее:

select id, data, parent_id, timestamp, child_id
from table_votes join children on children_id.id = table_vote.child_id
where child_id = (select count(child_id) from table_vote)
and parent_id = '20'
0
ответ дан Themba Mabaso 1 September 2018 в 01:26
поделиться
Другие вопросы по тегам:

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