выполнять сырые sql
select
case when @userId<>user_id then @q:=1 else @q:=@q+1 end q,
case when @q=1 then @userId:=user_id else @userId end user_id
from (select * users_images order by user_id) t1, (select @userId:=0, @q:=1) t2
where user_id<>@userId or (user_id=@userId and @q<=2)
select
u.*,
ph.phone_max
from users u
left join (
select
user_id, max(phone) phone_max
from phones
group by user_id
) ph on u.user_id=ph.user_id
SELECT
"ticker_symbol" AS symbol,
count(case when "request_status" = :requestStatus then 1 else null end) "pendingCount",
sum(case when "request_status" = :requestStatus then "amount" else null end)::varchar "expected"
FROM "requests"
WHERE "wallet_address" = :walletAddress
GROUP BY "ticker_symbol"
SELECT
"ticker_symbol" AS symbol,
count(*) "pendingCount",
sum("amount")::varchar "expected"
FROM "requests"
WHERE "wallet_address" = :walletAddress and "request_status" = :requestStatus
GROUP BY "ticker_symbol"
SELECT *
FROM table
WHERE (id, make_name) IN (('1995','TOYOTA'),('5015','FIAT'),('1010','BMW'))
ORDER BY CASE
WHEN id='1995' THEN 1
WHEN id='5015' THEN 2
WHEN id='1010' THEN 3
END
SELECT item.title FROM (
SELECT
item.idItem
FROM item
JOIN details_item ON item.idItem = details_item.idItem
JOIN detail ON detail.idDetail = details_item .idDetail
GROUP BY item.idItem
HAVING sum(CASE
WHEN detail.title in ("Железо","Дерево","Медь")
THEN 1
ELSE 0 END) = 3
) t
JOIN item ON item.idItem = t.idItem
SELECT
t1.UserID,
t1.Date DateStart,
min(CASE
WHEN t2.Event='end' AND t2.Date>t1.Date THEN t2.Date
ELSE null END) DateEnd
FROM table t1
CROSS JOIN table t2
WHERE t1.Event='start'
GROUP BY UserID
SELECT
t1.UserID,
t1.Date DateStart,
CASE
WHEN t2.Date is null THEN t1.Date
ELSE t2.Date END DateEnd
FROM table t1
LEFT JOIN table t2 ON t1.EventID=t2.EventID AND t1.Date<t2.Date
SELECT
*
FROM workers
WHERE id>=2 AND id<=6
ORDER BY age