У нас есть таблица, которая организована так: ID, Album_ID и Time_Voted. Каждый раз, когда пользователь голосует,
это создает новую запись. Мы хотели бы отобразить пять лучших идентификаторов Album_ID (в которых было наибольшее количество записей, содержащих этот идентификатор Album_ID в конце каждой недели). Единственный способ, которым я знаю, как это сделать, - ВЫБРАТЬ все записи за прошедшую неделю, затем выполнить «время» для результатов, затем перебрать массив и добавить +1 к соответствующему ключу Album_ID каждый раз, когда он находит экземпляр того же Album_ID. Это довольно неэффективно, и я убежден, что есть хороший способ сделать это с помощью SQL-запроса, но это за пределами моего уровня знаний.
Итак, вопрос в том, есть ли способ, посредством запроса, получить счетчик каждого числа идентификаторов album_ID, а затем упорядочить по этому количеству?
Вот исходный оператор SQL, с которым я работал. ГОДОВОЙ материал был только на прошлой неделе.
SELECT * FROM wp_album_votes WHERE YEARWEEK( Time_Voted ) = YEARWEEK( CURRENT_DATE - INTERVAL 7 DAY ) ORDER BY Album_ID