select A.*
from (select t.col1, t.col2, ..., t.colN from t -- выборка для "не по умолчанию"
union all
select def_col1, def_col2, ... def_colN from dual -- строка значений по умолчанию
) A
where rownum = 1 -- выбираем только первую строку, неважно из чего
SELECT id,
CASE
WHEN price > 10000 AND price < 11000 THEN 'Economy'
WHEN price >= 20000 AND price <= 30000 THEN 'PremiumEconomy'
WHEN price > 100000 THEN 'Business'
END as service_class, price
FROM tickets
where CASE
WHEN price > 10000 AND price < 11000 THEN 'Economy'
WHEN price >= 20000 AND price <= 30000 THEN 'PremiumEconomy'
WHEN price > 100000 THEN 'Business'
END is not null
SELECT id,
CASE
WHEN price > 10000 AND price < 11000 THEN 'Economy'
WHEN price >= 20000 AND price <= 30000 THEN 'PremiumEconomy'
WHEN price > 100000 THEN 'Business'
END as service_class, price
FROM tickets
where (price > 10000 AND price < 11000) -- 'Economy'
or (price >= 20000 AND price <= 30000) -- 'PremiumEconomy'
or (price > 100000) -- 'Business'
select *
from verbs
order by darg-w
select *
from verbs
order by id
select *
from verbs
order by position -- дополнительное поле, в которое будете сами или программно вбивать порядок сортировки
select *
from verbs
order by case when id = 100 then 0 else 1 end -- даем записи id=100 наивысший приоритет, в любом состоянии списка она будет на 1 месте!
, id -- остальные записи отсортируются в порядке добавления
FROM views v JOIN memes m JOIN comments c
FROM views v, memes m, comments c
SELECT (select COUNT(v.id) from views v where v.user_id = u.user_id ) AS просмотры,
(select COUNT(DISTINCT v.meme_id) from views v where v.user_id = u.user_id) AS [уникальные просмотры],
(select COUNT(m.id) from memes m where m.user_id = u.user_id) AS [выложено мемов],
(select COUNT(c.id) from comments c where c.user_id = u.user_id) AS [написано комментариев]
FROM users u -- лучше связаться с таблицей users
WHERE u.user_id = 1
select rownum, B.*
from (select A.*
from (SELECT v.user_id,
u.nickname,
COUNT(DISTINCT v.meme_id) as meme_count
FROM views as v
join users u on u.id = v.user_id
GROUP BY v.user_id, u.nickname) A
order by A.meme_count desc) B
select col1, -- извлекли содержимое колонки - вполне тривиальное действие
col2 from table1
select (col1 + col2) * 10 as result, -- а тут уже применили ариф. операции - написали выражение
col2 from table1
я хотел сделать отдельный параметр в бд, который проверяется
заменить в ней значение,
select
-- вариант 1
to_char(sysdate, 'DD.MM.YYYY' || decode(sysdate - trunc(sysdate), 0, '', ' HH24:MI:SS')) as your_format_date_1,
-- вариант 2
case
when sysdate - trunc(sysdate) > 0
then to_char(sysdate, 'DD.MM.YYYY HH24:MI:SS')
else to_char(sysdate, 'DD.MM.YYYY')
end as your_format_date_2
from dual;
$stmt = $db->prepare("SELECT * FROM moya_tablitsa WHERE id = :metka_parametra_identifikatora");
$stmt->bindParam(':metka_parametra_identifikatora', 123);
$stmt->execute();
$stmt = $db->prepare("SELECT * FROM moya_tablitsa WHERE id = ?");
$stmt->execute([123]);
$stmt = $db->prepare("SELECT * FROM moya_tablitsa WHERE id = ?");
$stmt->bindParam(1, 123); // 1 - это номер метки, 123 - значение параметра
$stmt->execute();
Подскажите пожалуйста - в каком направлении думать.
Select w.`Код`, w.`Фамилия`, w.`Имя`, w.`Отчество`,
count(ch.*) as Child_Count -- кол-во детей
-- count(distinct ch.`Фамилия`, ch.`Имя`, ch.`Отчество`, ch.`Дата рождения`) as Child_Count -- кол-во детей по группе уникальных полей по таблице Дети, без использования идентификатора
from `Список` w
join `Дети` ch on ch.`КодСотрудника` = w.`Код`
group by w.`Код`, w.`Фамилия`, w.`Имя`, w.`Отчество`
select psc.*,
pt1.`value` as `picture`,
pt2.`value` as `sort_pos`
from `pref_site_content` as psc
inner join `pref_site_tmplvar_contentvalues` as pt1 on pt1.`contentid` = psc.`id` and pt1.`tmplvarid` = 37
inner join `pref_site_tmplvar_contentvalues` as pt2 on pt2.`contentid` = psc.`id` and pt2.`tmplvarid` = 111
where psc.`id` not in (898, 899, 900, 902)
and (`template` = 40 and `published` = 1) -- тут, возможно, тоже можно добавить, если в таблицах поля одинаково названы
// Вы определитесь:
$table = /* либо копите результат верстки в переменной table, а потом после обработки выводите все содержимое на строке N */
'
<tr>
<td>'. $trtd .'</td> //отрисовывает первым столбиком таблицы номер сотрудника в таблице бд
<td>'. $array[0]++ .'</td> //отрисовывает вторым столбиком таблицы имя сотрудника в таблице бд
'. // зачем тут перед for конкатенация ?
for ($td=1; $td<=$daysinmonth; $td++){
// Либо сразу выводите результат через echo, не накапливая ничего для вывода контента
echo '<td>тут какое-то значение, в будующем должен быть код с операторами if и т.д.</td>';}.' //отрисосывает оставшиеся столбцы в зависимости от кол-ва дней в месяце
</tr>';// если вы множите ячейки дней месяца, то наверное, строку таблицы нужно закрывать не в теле цикла?
/*строка N */ echo ($table); // вывод всего накопленного содержимого
SELECT *
FROM multfilms as m
where m.title like '%Шрек%'
union
SELECT *
FROM multserials as m
where m.title like '%Шрек%'
SELECT f.*,
t.full_name
FROM films f
join film_content_type t on t.id = f.content_type_id
where f.title like '%Шрек%'
$table = Model::selectRaw('title, name_list, count(*) as count, sum(count_model * 2) as total, min(created_at) AS date') // в выбираемые поля нужно добавить title - вы же хотите его извлечь?
->groupBy('title, name_list') // сюда нужно прописать группируемые поля, которые не участвуют в агрегирующих функциях count, sum, min и т.д.
->orderBy('name_list', 'DESC') // тут пишите поле, по которому сортируете, ASC или DESC - направления сортировки
->take(10)
->get();