Convert SQL Server query to MySQL [duplicate]

This is actually a duplicate question, but I now have a better, single-pass, fast, answer:

SELECT *
FROM
(
    SELECT tbl.*, @counter := @counter +1 counter
    FROM (select @counter:=0) initvar, tbl
    ORDER BY ordcolumn
) X
WHERE counter <= (50/100 * @counter)
ORDER BY ordcolumn;

Leave a Comment