Логика выбора уникальных записей из mysql

259
26 июня 2017, 20:40

Есть таблица под названием personal043. В этой таблице есть id, card_id, zubno, naimenovanie, date.

  • id - всем понятная и нужная вещь
  • card_id - номер карты пациента
  • zubno - номер зуба
  • naimenovanie - наименование изменений в полости рта (пломба, коронка, удаление зуба и т.д)
  • date - дата когда были изменения

Необходимо вывести количество измененных зубов на определенную дату. Например:

02.02.2017 - 2 зуба изменились (т е у одного пломба, а второй зуб удалили)

05.03.2017 - 3 зуба изменились

06.06.2017 - 1 зуб изменился и т.д. (ВАЖНЫЙ МОМЕНТ: здесь в одном зубе могут быть несколько изменений (кариес, пломба и т.д), но нужно иметь ввиду что меняется только один зуб)

Хотел сделать так:

SELECT zubno DISTINCT date COUNT(*) FROM personal043 WHERE card_id = $id GROUP BY date

Он у меня выдал ошибку. Для того чтобы реализовать вышеописанное нужно брать дату и уникальный номер зуба, как сделать это? В общем, надо узнать не сколько изменений на один зуб, а сколько зубов были изменены на определенную дату. Сейчас делаю так

<?php $a = mysqli_query($con, "SELECT  date, COUNT(*) FROM personal043 WHERE card_id = $id GROUP BY date")  or 
die("<p>Не удается выбрать запись из базы данных</p>". mysqli_error($con));
while ($row610 = mysqli_fetch_array($a)) { ?><tr>
<td><?php echo $row610['date'] ?></td>
<td><?php echo $row610['COUNT(*)']; ?></td>
  </tr><?php } ; ?> 

Он он считает каждое изменение в зубе. А надо чтоб считал каждый зуб где есть изменения не зависимо от того сколько изменений. Наприме на одном зубе могут быть 10 изменений но он всё равно считал это как 1. Потому что изменения же на одном зубе Screenshot

Надо вытащить так

Здесь цифра 9 это количество измененных зубов.

READ ALSO
Рекомендуете ли вы чистить память от результата запроса?

Рекомендуете ли вы чистить память от результата запроса?

Что скажете по этому поводу, до этого я не чистил памятьВ офф

236
Вывод данных в inline-клавиатуру php

Вывод данных в inline-клавиатуру php

Есть следующий код, он выводит 2 кнопки в чат (Telegram-bot)Есть проблема - нужно вывести в чат inline-кнопки с товаром, который берется из бд

242
Преобразование строки в INT64

Преобразование строки в INT64

Всем доброго времени суток, подкиньте идею как на php можно строку вида XXX0006548 или XXX000XX48 преобразовать в INT64 вместо X может быть любая букваТак...

197
Оптимизация картинок средствами php

Оптимизация картинок средствами php

Добрый день возник такой вопрос, создавал очередной сайт на WP и заметил что несмотря на все предупреждения, клиент не соблюдает базовых правил...

284