Mysql
 sql >> база данни >  >> RDS >> Mysql

Как мога да получа равномерно разпределение, използвайки WHERE id IN(1,2,3,4)

Като зададете номера на реда с променливи и след това филтрирате този резултат, за да покаже само ред 1-3, трябва да работи

SET @last_objectId = 0;
SET @count_objectId = 0;
SELECT id, name, image FROM (
SELECT
 user.id,
 user.name,
 user.image,
 @count_objectId := IF(@last_objectId = rating.objectId, @count_objectId, 0) + 1 AS rating_row_number,
 @last_objectId := rating.objectId
FROM users
LEFT JOIN ratings ON (ratings.userid = user.id)
WHERE
 rating.rating > 0 AND
 rating.objectId IN (1,2,3,4)
ORDER BY rating.objectId
) AS subquery WHERE rating_row_number <= 3;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да изтриете дубликати в mysql с помощта на случай

  2. Jmeter показва грешка:Не може да се създаде PoolableConnectionFactory (Достъпът е отказан за потребител '[email protected]'@'118.185.61.226' (с парола:ДА))

  3. импортиране на CSV в phpmyadmin

  4. MySQL GROUP_CONCAT с нулеви стойности

  5. mysql - Сравнете стойности от низове за дата=n с дата=n-1