sql >> Database >  >> RDS >> Mysql

Hoe bouw ik een UNION-query met ORDER BY en GROUP BY in de querybuilder van Kohana?

De clausules hier worden toegepast vanaf de eerste query die is ingesteld in de union() methode, dus draai gewoon om waar je ze plaatst:

$query1 = DB::select('p.name')
              ->from(array('person', 'p'))
              ->where('p.organization', 'LIKE', 'foo%')
              ->group_by('name')
              ->order_by('name')
              ->limit(10);

$names = DB::select('sh.name')
              ->union($query1, FALSE)
              ->from(array('stakeholder', 'sh'))
              ->where('sh.organization', 'LIKE', 'foo%')
              ->execute()
              ->as_array();

Je kunt ook die overbodige ->limit(10) verwijderen van $names omdat het wordt genegeerd en vervangen door die in $query1 .



  1. Query voor gebruikers die niet in een specifieke groep zitten? (Wilde BEHALVE gebruiken, maar het lijkt erop dat MySQL dit niet ondersteunt)

  2. Hoe kan ik het totale aantal MySQL-query's tellen dat per pagina is gebruikt?

  3. Gegevensafknotting:gegevens te lang voor kolom 'logo' op rij 1

  4. Hoe verwijder ik alle gebruikerstabellen?