Skip to main content

To fetch highest row in table


SELECT * FROM `bids` as b where
amount = (select max( amount) from bids where userid = b.userid) and
timestamp = (select max( timestamp) from bids where userid = b.userid)
group by userid

For examples

id userid timestamp amount
1 101     1122334  223
2 102     1222334  323
3 101     1322334  523
4 102     1522334  723
5 101     1622334  283
6 102     1722334  293
7 102     1822334  233
8 102     2222334  203




id userid timestamp amount
1 101      1622334 283
2 102      2222334 203


Comments

Popular posts from this blog

Reading Large JSON file through PHP Script

 <?php /* cat mexico.geojson | wc sed ':a;N;$!ba;s/\n/ /g' mexico.geojson  > mexico.geojson_out1 cat mexico.geojson_out1 | wc http://localhost/Utility/cord/largefile.php?filename=mexico.geojson_out1 sed -E 's/\{ "type": "FeatureCollection", "name": "mexico_administrative_osm_province_boundaries", "crs": \{ "type": "name", "properties": \{ "name": "urn:ogc:def:crs:OGC:1.3:CRS84" \} \}, "features": \[//g' ./mexico.geojson_out1  > mexico.geojson_out2 http://localhost/Utility/cord/largefile.php?filename=mexico.geojson_out2 sed -E 's/(\[|\{|\}|\])/ \1 /g' ./mexico.geojson_out2 > ./output/mexico.geojson_output http://localhost/Utility/cord/largefile.php?filename=output/mexico.geojson_output */ ini_set('max_execution_time', '500'); //300 seconds = 5 minutes ini_set('memory_limit', '1G');   //ini_set('max_execution...

Javascript Generator as promise

     function* makeIterator(data) {       for(i in data){                 yield data[i];         }     }         function runPull() {         var obj = it.next();         var val;         console.log("RunPull Clicked",obj);         if(!obj.done) {             val = obj.value;             val.click();             setTimeout(function(){                 runPull();             },200);         }     }     ru...

Recursive array calls one after another through promise

 data = [1,2,3,4] rules = [                     function(d){ return d.map(x => x * 2); },                     function(d){ return d.map(x => x * 2); }                ] recursive(0,rules,data); function somelongrunningprocess(rule, data){     var d = $.Deferred();     setTimeout(function(){ var result = rule.call(undefined,data); d.resolve(result); },1000);     return d; } function recursive(index, rules, data) {             if(index < rules.length) {                 $.when(somelongrunningprocess(rules[index],data)).then(function(response){                     console.log("after_rule",respon...