Ответы пользователя по тегу MySQL
  • Как получить последнюю запись для каждого значения определённого поля?

    vbaydikov
    @vbaydikov
    у тебя select account_id, max(date), balance ..
    а группировка только по account_id. (с такой группировкой по одному account_id надо к balance надо применить какую то агр функцию, например max(), тогда запустится, но результат будет не такой как ты хочешь =) )

    вот так сделай:

    select 
    	ad.*, 
    	ab.balance 
    from
    (
    	select
    		account_id, max(date) as max_date
    	from tmp_account_balance
    	group by account_id
    ) ad
    inner join tmp_account_balance ab on ad.account_id = ab.account_id and ab.date = ad.max_date;
    Ответ написан
    Комментировать
  • Как правильно составить запрос с подзапросом?

    vbaydikov
    @vbaydikov
    попробуй так:
    select 
    	ct.id,
    	count(1) as allnews_
    from dle_category ct
    left join dle_post ps on ps.id = ct.id
    where true
    	and ps.approve = '1'
    group by ct.id

    может быть еще проблемка в том, что approve - это не стринг/варчар

    и вообще можно проще сделать, если тебе только id, count(1) вывести - это же все есть в dle_post вроде как, не?
    Ответ написан
    Комментировать