在MySQL中,我想执行这样的查询
SELECT MIN(id) FROM table;
Run Code Online (Sandbox Code Playgroud)
我越了解JOOQ语法和聚合函数,就会感到困惑。
我以为这样的事情会起作用
select( EVENT.EVENTID , min() ).from( EVENT ).fetch();
or
Result<Integer> er = context.select( EVENT.EVENTID.min()).fetch();
Run Code Online (Sandbox Code Playgroud)
我尝试通过选择整个第一条记录来解决问题
Result<EventRecord> er2 = context.selectFrom(EVENT).orderBy(EVENT.EVENTID.asc()).limit(1).fetch();
Run Code Online (Sandbox Code Playgroud)
如果结果的大小为0,则说明一条记录不存在,但是如果结果不为0,则得到正确的记录。我想使用min()函数,但是语法不正确。
我无法从我知道存在且我知道格式的数据库中获取数据。
在下面的代码片段中,“if conn != null”只是一个验证数据库名称、表名称等是否正确的测试,它们确实会验证。
下面的最后一行是产生异常的原因
public static HashMap<Integer, String> getNetworkMapFromRemote(DSLContext dslRemote, Connection conn, Logger logger) {
HashMap<Integer,String> remoteMap = new HashMap<Integer, String>();
// conn is only used for test purposes
if (conn != null) {
// test to be sure database is ok
try
{
ResultSet rs = conn.createStatement().executeQuery("SELECT networkid, name FROM network");
while (rs.next()) {
System.out.println("TEST: nwid " + rs.getString(1) + " name " + rs.getString(2));
}
rs.close();
}
catch ( SQLException se )
{
logger.trace("getNetworksForDevices SqlException: " …Run Code Online (Sandbox Code Playgroud)