11 Useful SQL commands
mauirixxx upravil tuto stránku před 7 roky

View which titles have at least 1 rank applied to it:

  • SELECT gwtitles.titlename FROM gwtitles WHERE titlenameid IN (SELECT titlenameid FROM gwsubtitles) ORDER BY titlename ASC;

Get the maximum entered sub-title rank:

  • SELECT MAX(strank) FROM gwsubtitles WHERE titlenameid = ?;

Select title ranks from an array:

  • SELECT * FROM gwsubtitles WHERE titlenameid = 25 AND stnameid IN (4, 6, 9); (4 6 9 will be replaced by a ? mark)

Delete title ranks from an array:

  • DELETE FROM gwsubtitles WHERE titlenameid = 54 AND stnameid IN (160,161,162);

Manually match profession colors with profession id

  • UPDATE gwchars INNER JOIN gwprofessions SET gwchars.profcolor = gwprofessions.profcolor WHERE gwchars.profid = gwprofessions.profid;

Select account wide stats, with next rank in line:

  • SELECT * FROM gwaccstats JOIN gwsubtitles ON gwaccstats.stnameid = gwsubtitles.titlenameid WHERE titlepoints < stpoints LIMIT 1;

Better select of account wide stats?

  • SELECT * FROM gwaccstats JOIN gwsubtitles ON gwaccstats.titlenameid = gwsubtitles.titlenameid WHERE titlepoints > stpoints AND gwaccstats.titlenameid = 1;

Get maxed out account titles first, sorted by rank, THEN by percentage over max rank:

  • SELECT * FROM gwaccstats WHERE userid = ? AND accid = ? AND percent > 100 ORDER BY currentstrank DESC, percent DESC;
  • to get the unmaxed account titles sorted, just flip the > to <

count maxed out titles from characters and accounts

  • SELECT COUNT(*) FROM gwstats WHERE charid IN (0, ?) AND gwamm = 0 AND percent >= 100 AND accid = ? AND userid = ?