Приношу свои извинения. Я отредактировал это ниже в 2 таблице, я просто немного путаю.MySQL - выбор одной записи для каждой категории
У меня есть таблицы очень похожи, как те ниже, и я хотел, чтобы показать все table2 класса 1, но только один случайный элемент на каждый table1-категории
Образец Item Table1
+---------+---------------+---------------+ | ID | Item Name | Category | +---------+---------------+---------------+ | 01 | Item A | Cat 1 | | 02 | Item B | Cat 1 | | 03 | Item C | Cat 2 | | 04 | Item D | Cat 2 | | 05 | Item E | Cat 3 | | 06 | Item F | Cat 3 | +---------+---------------+---------------+
образец Item Table2
+---------------+---------------+ | Category | Class | +---------------+---------------+ | Cat 1 | 1 | | Cat 2 | 1 | | Cat 3 | 2 | +---------------+---------------+
Я хотел показать все table2 класса 1, но только 1 случайный элемент в каждой table1-категории
Желаемая Result
+---------+---------------+---------------+ | 02 | Item B | Cat 1 | | 03 | Item C | Cat 2 | +---------+---------------+---------------+
(Это в моем PHP скрипт)
Заранее спасибо
возможно дубликат [Получить Top N записей для каждой группы сгруппированных результатов] (http://stackoverflow.com/questions/12113699/get-top- н-запись-в-каждый-гр oup-of-grouped-results) –
Посмотрите на функцию 'RAND', используя' GROUP BY' https://dev.mysql.com/doc/refman/5.0/en/mathematics-functions.html#function_rand – Mihai
Спасибо Marc B. На самом деле моя разновидность различна, весь мой сценарий: у меня есть инвентарь (SQL); Я использовал 2 серийных номера, номер позиции и номер категории. У меня около 1000 предметов и около 750 категорий. Мне нужно сделать цикл в PHP, чтобы отобразить всю категорию, и мне нужно отобразить случайный элемент для каждой категории. Я не думаю, что могу использовать «UNION ALL» ..и да, изменение формата инвентаризации не является опцией – vise