avatar_Vovcik

Топ-10 гильдий в MU Online с помощью скрипта выборки

Автор Vovcik, 2016 Апр. 18, 23:31

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] гильдии mu onlineскрипт выборки гильдийтаблица guildmember

Vovcik

Есть скрипт выборки гильдий по убыванию по столбцу G_Score из таблицы Guild.
            $Result = $DB2->Query('SELECT TOP 10 G_Name FROM Guild  order by G_Score desc');

Что дописать чтоб в результате появились гильдии по убыванию по количеству людей с другой таблицы (GuildMember) ?

epmak

#1
Если в таблице гильдии НЕТ уже столбца с каунтом членов, то что-то вроде этого:
[sql]SELECT TOP 10
g.G_Name,
count(gg.Name) as guildCount
FROM Guild g,
GuildMember gg
WHERE gg.G_Name  = g.G_Name
order by count(gg.Name) desc, g.G_Score desc[/sql]
писал на коленке, надо сверять названия столбцов, да и в студии не мешает проверить

Vovcik

Спасибо а как понять g.G_Name или gg.Name отпечатка?

epmak

скажем так, сокращение названия таблиц, что я определил.

Profesor08

#4
Цитата: Vovcik от 2016 Апр. 20, 16:01  Спасибо а как понять g.G_Name или gg.Name отпечатка?
Нет, но тебе это не поможет. Тот запрос неправильный.

А вот рабочий.
[sql]SELECT TOP 10 g.G_Name, count(gm.Name) as guildCount
FROM Guild g, GuildMember gm
WHERE gm.G_Name = g.G_Name
GROUP BY g.G_Name
ORDER BY count(gm.Name) desc, sum(g.G_Score) desc[/sql]

Vovcik

Цитата: Profesor08 от 2016 Апр. 20, 18:39  Нет, но тебе это не поможет. Тот запрос неправильный.

А вот рабочий.
[sql]SELECT TOP 10 g.G_Name, count(gm.Name) as guildCount
FROM Guild g, GuildMember gm
WHERE gm.G_Name = g.G_Name
GROUP BY g.G_Name
ORDER BY count(gm.Name) desc, sum(g.G_Score) desc[/sql]
Да спасибо так работает запрос прошёл.

Ещё вопрос на поправку кода
$Aliance = $DB2->Result($DB2->Query("SELECT G_Name FROM Guild WHERE G_Union = '$Guild[4]'"), 0, 0);Это выборка Алианиса , вывод получается Гилдия1(Мастер) ->Показывает Алианс Гилдия1, А интересует Гилдия1(Мастер) получить -> Гилдия2 алианса.

Похожие темы (5)