MySQL (F.A.Q.) - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (
https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: MySQL (F.A.Q.) (
/showthread.php?tid=489467)
Re: MySQL (F.A.Q.) -
Stepashka - 29.08.2019
Quote:
Originally Posted by gensek4
А можете показать пример, как вы это предоставляете?
|
Если дату хранишь в unix формате то весь запрос выглядит так:
Code:
SELECT
ac.name as name,
ad.level as level,
ad.vigs as vigs,
FROM_UNIXTIME(ac.geton_date, '%m.%d.%Y %H:%i') as geton_date,
TRUNCATE((
SELECT SUM(o.online_sec)
FROM online o
WHERE
o.account_id = ac.id
AND o.date > UNIX_TIMESTAMP(CURDATE())
GROUP BY o.account_id
), 0) as online_sec
FROM admin ad
LEFT JOIN account ac
ON ac.id = ad.admin_id
ORDER BY
ad.level as level DESC,
ac.name as name
Re: MySQL (F.A.Q.) -
gensek4 - 30.08.2019
Quote:
Originally Posted by Stepashka
Если дату хранишь в unix формате то весь запрос выглядит так:
|
Потребовалось время, что бы понять, что вместо TRUNCATE предполагалось IFNULL)
Спасибо больше, довольно сложно получилось, но зато смог разобраться.
А если допустим необходимо вывести топ из 10 игроков по онлайну за все время?
Все также есть
таблица account
- id
- name
и таблица online
- account_id
- online_sec
- afk_sec
Re: MySQL (F.A.Q.) -
Stepashka - 30.08.2019
Quote:
Originally Posted by gensek4
Потребовалось время, что бы понять, что вместо TRUNCATE предполагалось IFNULL)
|
Эмм, нет, это разные функции и делают они разные вещи. В данном случае в TRUNCATE можно дополнить IFNULL.
Re: MySQL (F.A.Q.) -
gensek4 - 30.08.2019
Quote:
Originally Posted by Stepashka
Эмм, нет, это разные функции и делают они разные вещи. В данном случае в TRUNCATE можно дополнить IFNULL.
|
А что же делает эта функция? В документации к MySQL сказано что она логически схожа с DELETE.