2011年8月 初版
SELECT objID, objName, ra, dec, flux_09, flux_18 FROM IrcObjAll LIMIT 20
SELECT objID, objName, ra as lon, dec as lat, flux_09, flux_18 FROM IrcObjAll LIMIT 20
SELECT count(*) FROM IrcObjAll WHERE (flux_09 BETWEEN 17.5 AND 18.0) AND fQual_09 = 3 AND fQual_18 = 3120件.
SELECT * FROM IrcObjAll WHERE (flux_09 BETWEEN 17.5 AND 18.0) AND fQual_09 = 3 AND fQual_18 = 3
SELECT objid, flux_09, fjy2abmag(flux_09) AS mag_09 FROM ircobjall WHERE flux_09 < fabmag2jy(12.2) ORDER BY flux_09
SELECT objid, flux_09, fjy2abmag(flux_09) AS mag_09 FROM ircobjall WHERE flux_09 < fabmag2jy(12.2) ORDER BY random() LIMIT 100
SELECT * FROM ( SELECT objid, flux_09, fjy2abmag(flux_09) AS mag_09, nScanC_09 FROM ircobjall WHERE flux_09 < fabmag2jy(12.2) ) o WHERE 6 <= o.nScanC_09
SELECT o.objid, o.objname, o.ra, o.dec, o.flux_09, o.flux_18, s.* FROM IrcObjAll o LEFT JOIN SimbadIrcAll s ON o.objid = s.objid LIMIT 30
SELECT type, count(type) as cnt_t, specType, count(specType) as cnt_s, orderDistance FROM SimbadIrcAll GROUP BY type, specType, orderDistance HAVING (specType IS NOT NULL) AND (orderDistance = 1) ORDER By type LIMIT 100
SELECT nScanP_09, count(nScanP_09) FROM IrcObjAll GROUP BY nScanP_09 ORDER BY nScanP_09
SELECT floor(posErrMj*10.0)/10.0 as posErr, count(*) FROM IrcObjAll GROUP BY floor(posErrMj*10.0)/10.0 ORDER BY posErr
SELECT objid, objname, ra, dec, cx, cy, cz FROM IrcObjAll WHERE (cx BETWEEN -0.982513866380272-0.02 AND -0.982513866380272+0.02) AND (cy BETWEEN -0.148249882182357-0.02 AND -0.148249882182357+0.02) AND (cz BETWEEN 0.112643130298329-0.02 AND 0.112643130298329+0.02)
SELECT * FROM ( SELECT objid, objname, ra, dec, cx, cy, cz FROM IrcObjAll WHERE (cx BETWEEN -0.982513866380272-0.02 AND -0.982513866380272+0.02) AND (cy BETWEEN -0.148249882182357-0.02 AND -0.148249882182357+0.02) AND (cz BETWEEN 0.112643130298329-0.02 AND 0.112643130298329+0.02) ) o WHERE acos( (2.0 - ((o.cx-(-0.982513866380272))^2 + (o.cy-(-0.148249882182357))^2 + (o.cz-0.112643130298329)^2) ) / 2.0 ) <= 0.02
SELECT objid,ra,dec, fGetNearestObjIDEq('irc', ra, dec, 1.0) as objid_irc FROM FisObjAll LIMIT 100
SELECT p.objid, p.ra, p.dec, q1.objid, q1.ra, q1.dec, fDistanceArcminEq(p.ra,p.dec,q1.ra,q1.dec) as distance FROM FisObjAll p JOIN IrcObjAll q1 ON fGetNearestObjIDEq('irc', p.ra, p.dec, 1.0) = q1.objID LIMIT 100
SELECT p.objid, p.ra, p.dec, q1.objid, q1.ra, q1.dec, fDistanceArcminEq(p.ra,p.dec,q1.ra,q1.dec) as distance1, q2.objid, q2.ra, q2.dec, fDistanceArcminEq(p.ra,p.dec,q2.ra,q2.dec) as distance2 FROM FisObjAll p JOIN IrcObjAll q1 ON fGetNearestObjIDEq('irc', p.ra, p.dec, 1.0) = q1.objID JOIN Iras q2 ON fGetNearestObjIDEq('iras', p.ra, p.dec, 1.0) = q2.objID LIMIT 100
SELECT o.*, f.distance FROM twomass o, fGetNearbyObjCel('twomass', 'j2000', 162.991850, 03.792003, 5.0) f WHERE o.objid = f.objid ORDER BY f.distance
SELECT * FROM ( SELECT o.*, f.distance FROM twomass o, fGetNearbyObjCel('twomass', 'j2000', 162.991850, 03.792003, 5.0) f WHERE o.objid = f.objid ORDER BY f.distance ) s WHERE s.dist_opt IS NOT NULL
SELECT fGetNearestObjIDEq('twomass', 360.0*random(), degrees(asin(2.0*random()-1.0)), 3.0) AS rid FROM generate_series(1,100) GROUP BY rid注意: Decの引数は,asin() を使って分布を調整する必要があります. 次の図は,4096個の座標をランダムに発生させた例です. asin()を使うと偏りなくサンプルを取得する事ができます.
SELECT o.* FROM twomass o WHERE EXISTS ( SELECT * FROM ( SELECT fGetNearestObjIDEq('twomass', 360.0*random(), degrees(asin(2.0*random()-1.0)), 3.0) AS rid FROM generate_series(1,100) ) s WHERE s.rid = o.objid )例2:
SELECT o.* FROM ( SELECT fGetNearestObjIDEq('twomass', 360.0*random(), degrees(asin(2.0*random()-1.0)), 3.0) AS rid FROM generate_series(1,100) GROUP BY rid ) s, twomass o WHERE s.rid = o.objid
$cmd = "SELECT o.* FROM ircobjall o, " . "fGetNearbyObjEq('irc',@ra@,@dec@,1.49 * 60) f " . "WHERE o.objid = f.objid";